Dockerfile কী এবং এর গঠন

Latest Technologies - ডকার (Docker) - Dockerfile এবং Image তৈরির প্রক্রিয়া | NCTB BOOK

Dockerfile হল একটি টেক্সট ফাইল যা Docker Images তৈরি করতে ব্যবহৃত হয়। এটি কন্টেইনারের জন্য প্রয়োজনীয় নির্দেশনা, কমান্ড, এবং কনফিগারেশন ধারণ করে। Dockerfile ব্যবহার করে, আপনি একটি নির্দিষ্ট অ্যাপ্লিকেশন এবং তার নির্ভরতাগুলি সংজ্ঞায়িত করতে পারেন, যা পরবর্তীতে Docker দ্বারা একটি কন্টেইনার ইমেজে রূপান্তরিত হয়।

Dockerfile-এর গঠন

একটি Dockerfile সাধারণত নিম্নলিখিত অংশগুলির সমন্বয়ে গঠিত:

  1. FROM: বেস ইমেজ নির্দেশ করে।
  2. LABEL: মেটাডেটা যুক্ত করে।
  3. RUN: ইমেজ তৈরি করার সময় কমান্ড চালায়।
  4. COPY এবং ADD: ফাইল এবং ডিরেক্টরি কপি করে।
  5. WORKDIR: কাজের ডিরেক্টরি সেট করে।
  6. CMD এবং ENTRYPOINT: কন্টেইনার শুরু হলে চালানোর জন্য কমান্ড নির্ধারণ করে।
  7. ENV: পরিবেশের ভেরিয়েবল সেট করে।

Dockerfile-এর মৌলিক উপাদানগুলো

১. FROM

  • বর্ণনা: এটি Dockerfile-এর প্রথম লাইন, যা নির্দেশ করে কোন বেস ইমেজ ব্যবহার করা হবে।
  • উদাহরণ:
FROM ubuntu:20.04

২. LABEL

  • বর্ণনা: ইমেজের জন্য মেটাডেটা যোগ করে। এটি নির্মাতার তথ্য বা অন্যান্য সংক্রান্ত তথ্য ধারণ করতে পারে।
  • উদাহরণ:
LABEL maintainer="your_email@example.com"

৩. RUN

  • বর্ণনা: এটি Docker Image তৈরি করার সময় কমান্ড চালানোর জন্য ব্যবহৃত হয়। এটি নতুন লেয়ার তৈরি করে।
  • উদাহরণ:
RUN apt-get update && apt-get install -y python3

৪. COPY

  • বর্ণনা: লোকাল ফাইল সিস্টেম থেকে কন্টেইনারের ভিতরে ফাইল কপি করে।
  • উদাহরণ:
COPY . /app

৫. ADD

  • বর্ণনা: COPY এর মতোই কাজ করে, তবে এটি URL থেকে ফাইল ডাউনলোড করার ক্ষমতাও রাখে।
  • উদাহরণ:
ADD https://example.com/file.tar.gz /app/

৬. WORKDIR

  • বর্ণনা: এটি কন্টেইনারে কাজ করার জন্য একটি নির্দিষ্ট ডিরেক্টরি সেট করে। পরবর্তী সমস্ত কমান্ড সেই ডিরেক্টরিতে কার্যকর হবে।
  • উদাহরণ:
WORKDIR /app

৭. CMD

  • বর্ণনা: কন্টেইনার চালানোর সময় ডিফল্ট কমান্ড এবং আর্গুমেন্ট নির্ধারণ করে। একটি Dockerfile-এ একাধিক CMD নির্দেশনা থাকতে পারে, তবে কেবল একটি কার্যকর হবে।
  • উদাহরণ:
CMD ["python3", "app.py"]

৮. ENTRYPOINT

  • বর্ণনা: কন্টেইনারের জন্য প্রধান কমান্ড নির্ধারণ করে, যা CMD দ্বারা নির্ধারিত আর্গুমেন্টের সাথে কাজ করে।
  • উদাহরণ:
ENTRYPOINT ["python3"]

৯. ENV

  • বর্ণনা: কন্টেইনারের জন্য পরিবেশ ভেরিয়েবল সেট করে।
  • উদাহরণ:
ENV APP_ENV production

উদাহরণ Dockerfile

নিচে একটি সাধারণ Dockerfile-এর উদাহরণ দেওয়া হলো:

# বেস ইমেজ নির্বাচন
FROM python:3.9-slim

# মেন্টেইনারের তথ্য
LABEL maintainer="your_email@example.com"

# কাজের ডিরেক্টরি সেট করুন
WORKDIR /app

# প্রয়োজনীয় ফাইলগুলি কপি করুন
COPY requirements.txt .

# নির্ভরতাগুলি ইনস্টল করুন
RUN pip install -r requirements.txt

# অ্যাপ্লিকেশন কপি করুন
COPY . .

# ডিফল্ট কমান্ড নির্ধারণ করুন
CMD ["python", "app.py"]

সারসংক্ষেপ

Dockerfile হল Docker Images তৈরি করার জন্য একটি গুরুত্বপূর্ণ উপাদান। এটি বিভিন্ন কমান্ড এবং নির্দেশনা ধারণ করে যা অ্যাপ্লিকেশন এবং তার নির্ভরতাগুলির জন্য কন্টেইনার তৈরির জন্য প্রয়োজনীয়। Dockerfile-এর গঠন এবং উপাদানগুলো বোঝার মাধ্যমে আপনি কাস্টম Docker Images তৈরি করতে পারবেন, যা আপনার অ্যাপ্লিকেশন ডেভেলপমেন্ট এবং ডিপ্লয়মেন্ট প্রক্রিয়াকে সহজতর করবে।

Content added By
Promotion